Verifying liquidity of recursive Bitcoin contracts

نویسندگان

چکیده

Smart contracts - computer protocols that regulate the exchange of crypto-assets in trustless environments have become popular with spread blockchain technologies. A landmark security property smart is liquidity: a non-liquid contract, it may happen some assets remain frozen, i.e. not redeemable by anyone. The relevance this issue witnessed recent liquidity attacks to Ethereum, which frozen hundreds USD millions. We address problem verifying on BitML, DSL for secure compiler Bitcoin, featuring primitives currency transfers, contract renegotiation and consensual recursion. Our main result verification technique liquidity. first transform infinite-state semantics BitML into finite-state one, focusses behaviour chosen set contracts, abstracting from moves context. With respect abstraction sound, if abstracted liquid, then also concrete one such. verify model-checking abstraction. implement toolchain automatically verifies compiles them we assess through benchmark representative contracts.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

On Verifying Resource Contracts using Code Contracts

In this paper we present an approach to check resource consumption contracts using an off-theshelf static analyzer. We propose a set of annotations to support resource usage specifications, in particular, dynamic memory consumption constraints. Since dynamic memory may be recycled by a memory manager, the consumption of this resource is not monotone. The specification language can express both ...

متن کامل

Modeling Bitcoin Contracts by Timed Automata

Bitcoin is a peer-to-peer cryptographic currency system. Since its introduction in 2008, Bitcoin has gained noticeable popularity, mostly due to its following properties: (1) the transaction fees are very low, and (2) it is not controlled by any central authority, which in particular means that nobody can “print” the money to generate inflation. Moreover, the transaction syntax allows to create...

متن کامل

BitML: a calculus for Bitcoin smart contracts

We propose a domain-specific language for smart contracts, which allows participants to transfer cryptocurrency according to agreed contract terms. We define a symbolic and a computational model for reasoning about their security. In the symbolic model, participants act according to the semantics of the domain-specific language. Instead, in the computational model they exchange bitstrings, and ...

متن کامل

Smart Contracts Make Bitcoin Mining Pools Vulnerable

Despite their incentive structure flaws, mining pools account for more than 95% of Bitcoin’s computation power. This paper introduces an attack against mining pools in which a malicious party pays pool members to withhold their solutions from their pool operator. We show that an adversary with a tiny amount of computing power and capital can execute this attack. Smart contracts enforce the mali...

متن کامل

Poster: Modelling Bitcoin Contracts by Timed Automata

Bitcoin is a digital currency system introduced in 2008 by an anonymous developer using a pseudonym “Satoshi Nakamoto” [15]. Despite its mysterious origins, Bitcoin became the first cryptographic currency that got widely adopted — as of January 2014 the Bitcoin capitalization is over $ 10 bln. The enormous success of Bitcoin was also widely covered by the media (see e.g. [12], [3], [13], [14]) ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Logical Methods in Computer Science

سال: 2022

ISSN: ['1860-5974']

DOI: https://doi.org/10.46298/lmcs-18(1:22)2022